PROCESS_ESC MACRO				;;AN000;
	.IF < N_USER_FUNC eq E_ESCAPE > 	;;AN000;
	.THEN					;;AN000;
	   POP_HEADING				;;AN000;
	.ENDIF					;;AN000;
	ENDM					;;AN000;
						;;AN000;
PROCESS_F3 MACRO				;;AN000;
	.IF < N_USER_FUNC eq E_F3 >		;;AN000;
	.THEN					;;AN000;
	   GOTO 		EXIT_DOS	;;AN000;
	.ENDIF					;;AN000;
	ENDM					;;AN000;

INIT_VAR_MINIMIZE MACRO
	INIT_VAR		S_BUFFERS, 0				;;AN000;set BUFFERS = null (spaces)
	INIT_VAR		S_FCBS, 0				;;AN000;set FCBS = null (spaces)
	INIT_VAR		F_ANSI, E_ANSI_NO			;;AN000;set ANSI = no
	INIT_VAR		S_ANSI, 0				;;AN000;set ANSI field = null (spaces)
	INIT_VAR		F_FASTOPEN, E_FASTOPEN_NO		;;AN000;set FASTOPEN = no
	INIT_VAR		S_FASTOPEN, 0				;;AN000;set FASTOPEN = null (spaces)
	INIT_VAR		F_GRAPHICS, E_GRAPHICS_NO		;;AN000;set GRAPHICS = no
	INIT_VAR		S_GRAPHICS, 0				;;AN000;set GRAPHICS field = null (spaces)
	COPY_STRING		S_FILES, M_FILES, D_FILES_2		;AN000; set FILES = 8
	ENDM

INIT_VAR_BALANCE MACRO
	COPY_STRING		S_BUFFERS, M_BUFFERS, D_BUFFERS_1	;;AN000;set BUFFERS = 20
	INIT_VAR		S_FCBS, 0				;;AN000;set FCBS = null (spaces)
	INIT_VAR		F_ANSI, E_ANSI_YES			;;AN000;set ANSI = yes
	INIT_VAR		S_ANSI, 0				;;AN000;set ANSI field = null (spaces)
	INIT_VAR		F_FASTOPEN, E_FASTOPEN_YES		;;AN000;set FASTOPEN = yes
	COPY_STRING		S_FASTOPEN, M_FASTOPEN, D_FASTOPEN_1	;;AN000;set FASTOPEN = C:=(50,25)
	INIT_VAR		F_GRAPHICS, E_GRAPHICS_YES		;;AN000;set GRAPHICS = yes
	INIT_VAR		S_GRAPHICS, 0				;;AN000;set GRAPHICS field = null (spaces)
	COPY_STRING		S_FILES, M_FILES, D_FILES_1		;AN000; set FILES = 20
	ENDM

INIT_VAR_MAXIMIZE MACRO
	COPY_STRING		S_BUFFERS, M_BUFFERS, D_BUFFERS_2	;;AN000;set BUFFERS = 50,4
	COPY_STRING		S_FCBS, M_FCBS, D_FCBS_1		;;AN000;set FCBS = 20,8
	INIT_VAR		F_ANSI, E_ANSI_YES			;;AN000;set ANSI = yes
	COPY_STRING		S_ANSI, M_ANSI, D_ANSI_1		;;AN000;set ANSI field = /X
	INIT_VAR		F_FASTOPEN, E_FASTOPEN_YES		;;AN000;set FASTOPEN = yes
	COPY_STRING		S_FASTOPEN, M_FASTOPEN, D_FASTOPEN_2	;;AN000;set FASTOPEN = C:(150,150)
	INIT_VAR		F_GRAPHICS, E_GRAPHICS_YES		;;AN000;set GRAPHICS = yes
	INIT_VAR		S_GRAPHICS, 0				;;AN000;set GRAPHICS field = null (spaces)
	COPY_STRING		S_FILES, M_FILES, D_FILES_1		;AN000; set FILES = 20
	ENDM

SAVE_PARAMETERS MACRO		SAV_FILE, RET_CODE		;;AN000;
	PREPARE_FILE		SAV_FILE			;;AN000;
	WORD_TO_CHAR		F_SHELL, S_STR120_1
	WRITE_LINE		S_STR120_1
	WORD_TO_CHAR		N_FORMAT_MODE, S_STR120_1	;;AN000;
	WRITE_LINE		S_STR120_1			;;AN000;
	WORD_TO_CHAR		N_DISK_1, S_STR120_1		;;AN000;
	WRITE_LINE		S_STR120_1			;;AN000;
	WORD_TO_CHAR		I_DESTINATION,S_STR120_1	;;AN033;SEH  save destination, too
	WRITE_LINE		S_STR120_1			;;AN033;SEH
	WRITE_LINE		S_INSTALL_PATH			;;AN000;
	SAVE_FILE		SAV_FILE, RET_CODE		;;AN000;
	ENDM							;;AN000;

CREATE_CONFIG  MACRO	CONFIG_FILE, RET_CODE			;;AN000;
	PREPARE_FILE	CONFIG_FILE				;;AN000;
	CALL		CREATE_CONFIG_SYS			;;AN000;
	SAVE_FILE	CONFIG_FILE, RET_CODE			;;AN000;
	ENDM							;;AN000;

CREATE_AUTOEXEC MACRO	AUTO_FILE, DEST, RET_CODE		;;AN000;
	MOV		N_DEST, DEST				;;AN000;
	PREPARE_FILE	AUTO_FILE				;;AN000;
	CALL		CREATE_AUTOEXEC_BAT			;;AN000;
	SAVE_FILE	AUTO_FILE, RET_CODE			;;AN000;
	ENDM							;;AN000;

CREATE_SHELL  MACRO	SHELL_FILE, RET_CODE	   ;;AN000;
	PREPARE_FILE	SHELL_FILE		   ;;AN000;
	CALL		CREATE_SHELL_BAT	   ;;AN000;
	SAVE_FILE	SHELL_FILE, RET_CODE	   ;;AN000;
	ENDM					   ;;AN000;

ADD_WORD	MACRO  VAR1, VAR2		;;AN000;
	MOV	AX,VAR2 			;;AN000;
	ADD	VAR1,AX 			;;AN000;
	ENDM					;;AN000;

CHECK_DISPLAY	MACRO				;;AN000;
	CALL	VIDEO_CHECK			;;AN000;
	ENDM					;;AN000;

SAVE_PANEL_LIST MACRO				;;AN000;
	MOV	AX,0ADC0H			;;AN000;
	MOV	BX,0FFFFH			;;AN000;
	INT	2FH				;;AN000;
	ENDM					;;AN000;

PREP_FOR_ONE	MACRO  CPOS			;;AN000;
		MOV	DH,CPOS 		;;AN000;
		CALL	DO_PREP_FOR_ONE 	;;AN000;
		ENDM				;;AN000;

HOOK15		MACRO				;;AN000;
		CALL	DO_HOOK15		;;AN000;
		ENDM				;;AN000;

UNHOOK15	MACRO				;;AN000;
		CALL	DO_UNHOOK15		;;AN000;
		ENDM				;;AN000;

GET_INSTALLED_MEM MACRO MEMORY			;;AN000;
		INT  12H			;;AN000;
		MOV  MEMORY,AX			;;AN000;
		ENDM				;;AN000;

HOOK_2F_FORMAT	MACRO				;;AN000;
		CALL	HOOK_INT_2F_FORMAT	;;AN000;
		ENDM				;;AN000;

UNHOOK_2F	MACRO				;;AN000;
		CALL	RESTORE_INT_2F		;;AN000;
		ENDM				;;AN000;

INCLUDE MACROS8.INC				;AN000;
